﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VirtualTournaments.Biz.Bets
{
    public class Agency
    {
        /// <summary>
        /// porcentaje del dinero de las apuestas que se queda la casa
        /// </summary>
        private int _profit;

        public int Profit
        {
            get { return _profit; }
        }

        public Agency(int profit)
        {
            this._profit = profit;
        }

        /// <summary>
        /// Calcula la cuota (Odds) de una apuesta, de la siguiente forma:
        /// ApuestasTotales = Se suman los valores de todas las apuestas. Este es el dinero que se repartira entre los ganadores y la agencia.
        /// ApuestasConMismoObjetivo = Se suman los valores de todas las apuestas que ganarian junto con la de la prueba. En este caso, todas las apuestas a Visitante
        /// Cuota = ApuestasTotales * ((100 - PorcentajeAgencia) / 100 ) / ApuestasConMismoObjetivo
        /// </summary>
        /// <param name="sameTypeBetsTotalMoney"></param>
        /// <param name="sameTypeWinningBetsTotalMoney"></param>
        /// <returns></returns>
        public double calculateOddsForBet(double sameTypeBetsTotalMoney, double sameTypeAndTargetBetsTotalMoney, double bet)
        {
            return (sameTypeBetsTotalMoney + bet) * ((100 - _profit) / 100.0) / (sameTypeAndTargetBetsTotalMoney + bet);
        }
    }
}
